package com.rustic.server.template;

import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.rustic.server.vo.user.UserAdminListVO;
import lombok.Data;

import java.util.Date;

@Data
@ColumnWidth(16)
@HeadFontStyle(fontHeightInPoints = 14)
public class UserTemplate {

    /**
     * 头像
     */
    @ExcelProperty("头像")
    private String avatar;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 自增id
     */
    @ExcelProperty(value = "会员id")
    private Integer id;

    /**
     * 性别(1男 2女 3未知)
     */
    @ExcelProperty(value = "性别")
    private String gender;

    /**
     * (区号)手机号码
     */
    @ExcelProperty(value = "手机号码")
    private String mobile;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    private String email;

    /**
     * 国籍
     */
    @ExcelProperty(value = "国籍")
    private String nationality;

    /**
     * 角色(逗号分隔)
     */
    @ExcelProperty(value = "角色")
    private String roleIds;

    /**
     * 会员权益(1贵宾区 2发起聊天 3隐私设置), 多个时逗号分隔
     */
    @ExcelProperty(value = "会员权益")
    private String rights;

    /**
     * 注册认证日期
     */
    @ExcelProperty(value = "注册认证日期")
    private Date registerTime;

    /**
     * 关注内容('/'分割)
     */
    @ExcelProperty(value = "关注内容")
    private String contentLabel;

    /**
     * 证件号
     */
    @ExcelProperty(value = "证件号")
    private String idCard;

    /**
     * 企业/机构
     */
    @ExcelProperty(value = "企业/机构")
    private String enterprise;

    /**
     * 职位
     */
    @ExcelProperty(value = "职位")
    private String job;

    /**
     * 行业
     */
    @ExcelProperty(value = "行业")
    private String enterpriseLabel;

    /**
     * 是否锁定
     */
    @ExcelProperty(value = "状态")
    private String isLock;


    public UserTemplate(UserAdminListVO userAdminListVO) {
        if (userAdminListVO != null) {
            BeanUtil.copyProperties(userAdminListVO, this);
        }
    }
}
